iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
AI & Data

AI初學者入門系列 第 19

Day19 LoRA(Low-Rank Adaptation)

  • 分享至 

  • xImage
  •  

在大型語言模型時代,為了在有限資源下,讓模型快速適應特定領域,過去的做法是全量微調(Full Fine-tuning),直接更新整個模型的所有權重,但這種方法需要龐大的運算資源和消耗大量儲存空間。為了解決這個問題,微軟在 2021 年提出了 LoRA(Low-Rank Adaptation),成為如今高效微調 LLM 的關鍵技術。

從傳統微調到 LoRA

  1. 全量微調(Full Fine-tuning)

在最傳統的做法中,我們會同時更新整個 預訓練權重(Pretrained Weight)更新權重(Update Weight),最後得到一個新的「適配後權重(Adapted Weight)」。
這種方式效果最佳,但計算與儲存成本極高。
https://ithelp.ithome.com.tw/upload/images/20250821/20177905OlJNw184LP.png

  1. 適配後的完整權重

經過全量微調後,模型會得到一個全新的大權重矩陣,雖然適應了新任務,但需要將整個模型重新儲存與部署,非常不便。
https://ithelp.ithome.com.tw/upload/images/20250821/201779054tL7VHPgvW.png

  1. LoRA:低秩分解

LoRA 引入了 低秩分解(Low-Rank Decomposition) 的想法。
它不再直接更新整個矩陣,而是將更新量 ΔW\Delta WΔW 拆解成兩個小矩陣:
ΔW=A⋅B\Delta W = A \cdot B
ΔW=A⋅B
其中 AAA 是隨機初始化的小矩陣,BBB 初始為 0,只需訓練這兩個矩陣即可,這樣就能用極少的參數量達到類似全量微調的效果
https://ithelp.ithome.com.tw/upload/images/20250821/20177905GKaXDzkYDg.png

為什麼 LoRA 這麼重要?

LoRA 的出現,讓LLM 微調不再是巨頭公司才能進行的任務,而是能普及到更多研究者與開發者。

  1. 高效能:只需訓練極少的參數,大幅降低 GPU 記憶體消耗。
  2. 靈活性:LoRA 模組可以「像插件一樣」加在模型上,不改動原始模型本身。
  3. 可組合性:不同領域的 LoRA 模組可以混合使用,例如:一個醫療 LoRA+中文 LoRA。

應用案例

  • LLaMA 家族:中文或專業化的衍生模型(如 Alpaca、Vicuna)都採用了 LoRA 來完成指令微調。
  • Stable Diffusion:圖像生成社群利用 LoRA 進行風格化訓練,例如讓模型學習某位畫家的畫風或某種動漫風格。

上一篇
Day18 學習使用anythingllm
下一篇
Day20向量壓縮與 ANN 搜尋
系列文
AI初學者入門30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言